package com.class05.ioc_03;

import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;


@Controller //user的表示层
public class UserController {

    //  @Autowired  <property name="userService" ref="userService">
//    自动装配注解(DI):
//    1、ioc容器中查找符合类型的组件对象
//    2、设置给当前属性(di)

    @Autowired(required = true)
//    boolean required() default true; 必须有对应类型组件

//    佛系装配  可以没有 值 = null
//    boolean required() default false
//    不推荐使用佛系装配，装配的数据后期都会有调用！后面会出现空指针异常
    @Qualifier(value = "userServiceImpl")
//    默认id xxxController类名的首字母小写
    private UserService userService;


    @Resource(name = "userServiceImpl")
//    @Resource(name = "userServiceImpl")=
//    @Autowired(required = true) +
//    @Qualifier(value = "userServiceImpl")
    private UserService userService1;

    public void show() {
        String show = userService1.show();
        System.out.println(show);

    }
}
